/**
 * 战网 API 原始数据
 */
const mongoose = require('mongoose');
const config = require('../config');

const cfg = {
  ...config,
  id: false,
  strict: false
}

const ProfessionsIndexSchema = new mongoose.Schema({}, cfg)

const PlayableClassIndexSchema = new mongoose.Schema({}, cfg)
const PlayableClassSchema = new mongoose.Schema({}, cfg)
const PlayableClassMediaSchema = new mongoose.Schema({}, cfg)

const PlayableRaceIndexSchema = new mongoose.Schema({}, cfg)
const PlayableRaceSchema = new mongoose.Schema({}, cfg)

const PlayableSpecIndexSchema = new mongoose.Schema({}, cfg)
const PlayableSpecSchema = new mongoose.Schema({}, cfg)
const PlayableSpecMediaSchema = new mongoose.Schema({}, cfg)

const PowerTypeIndexSchema = new mongoose.Schema({}, cfg)
const PowerTypeSchema = new mongoose.Schema({}, cfg)

const MythicKeystoneAffixesIndexSchema = new mongoose.Schema({}, cfg)
const MythicKeyStoneAffixSchema = new mongoose.Schema({}, cfg)
const MythicKeyStoneAffixMediaSchema = new mongoose.Schema({}, cfg)

const SpellSchema = new mongoose.Schema({}, cfg)
const SpellMediaSchema = new mongoose.Schema({}, cfg)

const MythicKeystoneDungeonsIndexSchema = new mongoose.Schema({}, cfg)
const MythicKeystoneDungeonSchema = new mongoose.Schema({}, cfg)

// const JournalInstancesIndexSchema = new mongoose.Schema({}, cfg)
const JournalInstanceSchema = new mongoose.Schema({}, cfg)
const JournalInstanceMediaSchema = new mongoose.Schema({}, cfg)

const JournalEncounterSchema = new mongoose.Schema({}, cfg)

const ItemSchema = new mongoose.Schema({}, cfg)
const ItemMediaSchema = new mongoose.Schema({}, cfg)

const ToyIndexSchema = new mongoose.Schema({}, cfg)
const ToySchema = new mongoose.Schema({}, cfg)


exports.ProfessionsIndex = mongoose.model('ProfessionsIndex', ProfessionsIndexSchema, 'professions_index');

exports.PlayableClassIndex = mongoose.model('PlayableClassIndex', PlayableClassIndexSchema, 'playable_class_index');
exports.PlayableClass = mongoose.model('PlayableClass', PlayableClassSchema, 'playable_class');
exports.PlayableClassMedia = mongoose.model('PlayableClassMedia', PlayableClassMediaSchema, 'playable_class_media');

exports.PlayableRaceIndex = mongoose.model('PlayableRaceIndex', PlayableRaceIndexSchema, 'playable_race_index');
exports.PlayableRace = mongoose.model('PlayableRace', PlayableRaceSchema, 'playable_race');

exports.PlayableSpecIndex = mongoose.model('PlayableSpecIndex', PlayableSpecIndexSchema, 'playable_spec_index');
exports.PlayableSpec = mongoose.model('PlayableSpec', PlayableSpecSchema, 'playable_spec');
exports.PlayableSpecMedia = mongoose.model('PlayableSpecMedia', PlayableSpecMediaSchema, 'playable_spec_media');

exports.PowerTypeIndex = mongoose.model('PowerTypeIndex', PowerTypeIndexSchema, 'power_type_index');
exports.PowerType = mongoose.model('PowerType', PowerTypeSchema, 'power_type');

exports.MythicKeystoneAffixesIndex = mongoose.model('MythicKeystoneAffixesIndex', MythicKeystoneAffixesIndexSchema, 'mythic_keystone_affixes_index');
exports.MythicKeyStoneAffix = mongoose.model('MythicKeyStoneAffix', MythicKeyStoneAffixSchema, 'mythic_keystone_affix');
exports.MythicKeyStoneAffixMedia = mongoose.model('MythicKeyStoneAffixMedia', MythicKeyStoneAffixMediaSchema, 'mythic_keystone_affix_media');

exports.Spell = mongoose.model('Spell', SpellSchema, 'spell');
exports.SpellMedia = mongoose.model('SpellMedia', SpellMediaSchema, 'spell_media');

exports.MythicKeystoneDungeonsIndex = mongoose.model('MythicKeystoneDungeonsIndex', MythicKeystoneDungeonsIndexSchema, 'mythic_keystone_dungeons_index');
exports.MythicKeystoneDungeon = mongoose.model('MythicKeystoneDungeon', MythicKeystoneDungeonSchema, 'mythic_keystone_dungeon');

// exports.JournalInstancesIndex = mongoose.model('JournalInstancesIndex', JournalInstancesIndexSchema, 'journal_instances_index');
exports.JournalInstance = mongoose.model('JournalInstance', JournalInstanceSchema, 'journal_instance');
exports.JournalInstanceMedia = mongoose.model('JournalInstanceMedia', JournalInstanceMediaSchema, 'journal_instance_media');

exports.JournalEncounter = mongoose.model('JournalEncounter', JournalEncounterSchema, 'journal_encounter');

exports.Item = mongoose.model('Item', ItemSchema, 'item');
exports.ItemMedia = mongoose.model('ItemMedia', ItemMediaSchema, 'item_media');

exports.ToyIndex = mongoose.model('ToyIndex', ToyIndexSchema, 'toy_index');
exports.Toy = mongoose.model('Toy', ToySchema, 'toy');

